IBMCCSWHW-MIB DEFINITIONS ::= BEGIN

-- ===========================================================================
-- The IBM CC Software Hardware MIB
--
-- This MIB defines those common items related to the BOX for the
-- various products built on IBMs CC base.
--
-- ===========================================================================

 IMPORTS
   MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, Counter32, Integer32,
   IpAddress, enterprises, TimeTicks
        FROM SNMPv2-SMI

   TEXTUAL-CONVENTION, DisplayString, TruthValue
        FROM SNMPv2-TC

    ;

ibmccSwHw MODULE-IDENTITY
            LAST-UPDATED "9810021200Z"     -- September 10, 1998
            ORGANIZATION "IBM Corporation"
            CONTACT-INFO
              " Florian K Kandefer
                 Postal:  IBM Corporation
                          800 Park Offices Drive
                          Research Triangle Park, NC 27709
                          US
                 Tel:     +1 919 254 0685
                 Fax:     +1 919 254 0391
                 E-mail:  kandefer@us.ibm.com     "
            DESCRIPTION
             "
             This MIB defines the enterprise specific management objects
             common to the various CC based products.
             "
            REVISION  "9809101200Z"
            DESCRIPTION
             "
             The  creation
             "

 ::= {enterprises 2 ibm(2) ibmProd(6) ibmIROC(119) ibmIROCRouting(4) ibmIROCswhw(9) }

-- =================================
--   TEXTUAL-CONVENTION's
-- =================================
 IbmccSlotNum ::= TEXTUAL-CONVENTION
        STATUS     current
        DESCRIPTION
        "
        The slot number in which the component resides. For Components on the
        chassis this index is zero.
        "
        SYNTAX     INTEGER (0..255)

 IbmccSlotType ::= TEXTUAL-CONVENTION
        STATUS     current
        DESCRIPTION
        "
        The slot number in which the component resides. For Components on the
        chassis this index is zero.
        "
        SYNTAX     INTEGER {
                           ibmccSlotTypeChassis    (0),
                           ibmccSlotTypeMMC        (1),
                           ibmccSlotTypePCI        (2),
                           ibmccSlotTypePCMCIA     (3),
                           ibmccSlotTypeNotPresent (254),
                           ibmccSlotTypeUnknown    (255)
                           }

-- =================================
--   Groups in ibmccSwHw-MIB
-- =================================

ibmccNotificationGroup  OBJECT IDENTIFIER ::= { ibmccSwHw 0 }

ibmccMIBObjectGroup      OBJECT IDENTIFIER ::= { ibmccSwHw 1 }
ibmccMIBConformanceGroup OBJECT IDENTIFIER ::= { ibmccSwHw 2 }

ibmccSwGroup          OBJECT IDENTIFIER ::= { ibmccMIBObjectGroup 1 }
ibmccHwGroup          OBJECT IDENTIFIER ::= { ibmccMIBObjectGroup 2 }

-- ===========================
-- Software Scalar Group
-- ===========================

ibmccSwGroupScalar    OBJECT IDENTIFIER ::= { ibmccSwGroup 1 }
-- reserved for any non table objects we come up with.

-- ===========================
-- Box Wide Objects
-- ===========================

ibmccSwGroupBox    OBJECT IDENTIFIER ::= { ibmccSwGroup 2 }

-- =====================================
-- The Software Vital Product Data (VPD)
-- =====================================

ibmccSwVPDTable  OBJECT-TYPE
   SYNTAX  SEQUENCE OF IbmccSwVPDEntry
   MAX-ACCESS  not-accessible
   STATUS  current
   DESCRIPTION
        "A table of the hardware component's Software VPD.
        "

   ::= {ibmccSwGroupBox 1}

ibmccSwVPDEntry   OBJECT-TYPE
   SYNTAX  IbmccSwVPDEntry
   MAX-ACCESS  not-accessible
   STATUS  current
   DESCRIPTION
        "A VPD entry containing objects to describe the hardware component
        software VPD. Since all hardware components may not have
        "
   INDEX  { ibmccSlotNum }
   ::= {ibmccSwVPDTable 1}

IbmccSwVPDEntry ::=
   SEQUENCE {
        ibmccSoftwareVersionNum
        INTEGER,
        ibmccSoftwareReleaseNum
        INTEGER,
        ibmccSoftwareModLevelNum
        INTEGER,
        ibmccSoftwarePtfNum
        INTEGER
   }


ibmccSoftwareVersionNum OBJECT-TYPE
   SYNTAX  INTEGER (0..255)
   MAX-ACCESS  read-only
   STATUS  current
   DESCRIPTION
        "
        The Software Version Number.
        "
   ::= {ibmccSwVPDEntry 1}

ibmccSoftwareReleaseNum OBJECT-TYPE
   SYNTAX  INTEGER (0..255)
   MAX-ACCESS  read-only
   STATUS  current
   DESCRIPTION
        "
        The Software Release Number.
        "
   ::= {ibmccSwVPDEntry 2}

ibmccSoftwareModLevelNum OBJECT-TYPE
   SYNTAX  INTEGER (0..255)
   MAX-ACCESS  read-only
   STATUS  current
   DESCRIPTION
        "
        The Software Modification level number.
        "
   ::= {ibmccSwVPDEntry 3}

ibmccSoftwarePtfNum OBJECT-TYPE
   SYNTAX  INTEGER (0..255)
   MAX-ACCESS  read-only
   STATUS  current
   DESCRIPTION
        "
        The Software PTF Number.
        "
   ::= {ibmccSwVPDEntry 4}

-- ===========================
-- Hardware Scalar Group
-- ===========================

ibmccHwGroupScalar    OBJECT IDENTIFIER ::= { ibmccHwGroup 1 }
-- reserved for any non table

-- ===========================
-- Box Wide
-- ===========================

ibmccHwGroupBox    OBJECT IDENTIFIER ::= { ibmccHwGroup 2 }

ibmccNumSlots OBJECT-TYPE
   SYNTAX  Integer32
   MAX-ACCESS  read-only
   STATUS  current
   DESCRIPTION
        "
        The total number of slots independent of the slot type. That is
        the sum of all the slots where devices can be plugged init. These
        slots do not have to be the same type of slot. The slot type is
        defined by ibmccDevSlotType.
        "

   ::= {ibmccHwGroupBox 1}

-- ========================
-- Chassis Group
-- ========================

ibmccSysGroup  OBJECT IDENTIFIER ::= { ibmccHwGroupBox 2 }

-- This group contains VPD for the hardware contained on the chassis of the
-- box this SNMP agent is running on. Some boxes may not have a Control Point
-- imbedded on the chassis and in that case only the ibmccChaValid (false)
-- object is the only object with a valid value.

ibmccSysProcessor OBJECT-TYPE
   SYNTAX  DisplayString
   MAX-ACCESS  read-only
   STATUS  current
   DESCRIPTION
        "
        The processor type for the Control Point.
        "
   ::= {ibmccSysGroup 1}

ibmccSysDRAMInstalled  OBJECT-TYPE
   SYNTAX  Integer32
   MAX-ACCESS  read-only
   STATUS  current
   DESCRIPTION
        "The total amount of dynamic RAM installed on the systems control point.
         The amount is in units of megabytes.
        "
   ::= {ibmccSysGroup 2}

ibmccSysNVRAMInstalled  OBJECT-TYPE
   SYNTAX  Integer32
   MAX-ACCESS  read-only
   STATUS  current
   DESCRIPTION
        "The total amount of NVRAM memory installed on this systems control
        point. The amount is in units of Kbytes."
   ::= {ibmccSysGroup 3}

ibmccSysFlashInstalled  OBJECT-TYPE
   SYNTAX  Integer32
   MAX-ACCESS  read-only
   STATUS  current
   DESCRIPTION
        "The total amount of Flash memory installed on this systems control
         point. The amount is in units of Mbytes.
        "
   ::= {ibmccSysGroup 4}

ibmccSysFirmwareLvl OBJECT-TYPE
   SYNTAX  Integer32
   MAX-ACCESS  read-only
   STATUS  current
   DESCRIPTION
        "The level of the firmware installed on the control point."
   ::= {ibmccSysGroup 5}

ibmccSysResetFlag  OBJECT-TYPE
   SYNTAX  INTEGER { reset(1), noReset(2) }
   MAX-ACCESS  read-write
   STATUS  current
   DESCRIPTION
        "
        Controls reset of the control point which results in reset of all
        devices. A get of this object will return noReset(2) the
        default value. This object currently can only be SET to a value of
        reset(1).
        "
   DEFVAL { noReset }
   ::= {ibmccSysGroup 6}

ibmccSysNotifyStatus OBJECT-TYPE
    SYNTAX INTEGER   {
        enabled(1),
        disabled(2)
        }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The status of the trap reporting service in this MIB.
        The variable shall assume a value of enabled(1)
        if this device is permitted to send traps.
        This variable shall assume a value of disabled(2) if this
        device is prohibited from sending traps.

        "

    DEFVAL { enabled }
    ::= { ibmccSysGroup 7 }

ibmccSysLastChange OBJECT-TYPE
    SYNTAX  TimeTicks
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "
        This is the last time any device was plugged or unplugged from a
        slot in the box.

        This corrisponds with the ibmccDevStatusChg NOTIFICATION (trap).
        "
    ::= { ibmccSysGroup 8 }

-- ========================
-- Device Table
-- ========================

ibmccDevTable  OBJECT-TYPE
   SYNTAX  SEQUENCE OF IbmccDevEntry
   MAX-ACCESS  not-accessible
   STATUS  current
   DESCRIPTION
        "A table of the device component's."
   ::= {ibmccHwGroupBox 3}

ibmccDevEntry   OBJECT-TYPE
   SYNTAX  IbmccDevEntry
   MAX-ACCESS  not-accessible
   STATUS  current
   DESCRIPTION
        "A VPD entry containing objects to describe the hardware component."
   INDEX  { ibmccSlotNum }
   ::= {ibmccDevTable 1}

IbmccDevEntry ::=
   SEQUENCE {
        ibmccSlotNum
           IbmccSlotNum,
        ibmccDevSlotType
           IbmccSlotType,
        ibmccDevSlotDeviceType
           Integer32,
        ibmccDevRevision
           Integer32,
        ibmccDevNumOfPorts
           Integer32,
        ibmccDevOperStatus
           INTEGER,
        ibmccDevDiagStatus
           INTEGER,
        ibmccDevFaultStatus
           INTEGER,
        ibmccDevResetFlag
           Integer32
   }


ibmccSlotNum  OBJECT-TYPE
   SYNTAX  IbmccSlotNum
   MAX-ACCESS not-accessible
   STATUS  current
   DESCRIPTION
        "The hardware components slot number. This table is not in any specific
        order, for example MMC, PCMCIA and PCI slots could be intermixed in
        the table.

        NOTE: For Components on the chassis this index is zero.
        "
   ::= {ibmccDevEntry 1}

ibmccDevSlotType  OBJECT-TYPE
   SYNTAX  IbmccSlotType
   MAX-ACCESS  read-only
   STATUS  current
   DESCRIPTION
        "
        The slot type, see textual convention IbmccSlotType for enumeration.
        "
   ::= {ibmccDevEntry 2}

ibmccDevSlotDeviceType OBJECT-TYPE
   SYNTAX  Integer32
   MAX-ACCESS  read-only
   STATUS  current
   DESCRIPTION
        "
        The device type: ATM, Ethernet,  ........
        "
   ::= {ibmccDevEntry 3}

ibmccDevRevision  OBJECT-TYPE
   SYNTAX  Integer32
   MAX-ACCESS  read-only
   STATUS  current
   DESCRIPTION
        "
        The revision number of the device plugged into this slot.
        "
   ::= {ibmccDevEntry 4}

ibmccDevNumOfPorts  OBJECT-TYPE
   SYNTAX  Integer32
   MAX-ACCESS  read-only
   STATUS  current
   DESCRIPTION
        "
        The total number of ports for this device in this slot.
        "
   ::= {ibmccDevEntry 5}

ibmccDevOperStatus  OBJECT-TYPE
   SYNTAX  INTEGER {
           unknown         (1),
           notConfigured   (2),
           notPresent      (3),
           unavailable     (4),
           doesNotApply    (5),
           enablePending   (6),
           enabled         (7),
           disablePending  (8),
           disabled        (9),
           missConfigured  (10)}
   MAX-ACCESS  read-only
   STATUS  current
   DESCRIPTION
        "The operational status of this adapter.
         The variable shall assume a value of unknown(1)
        if the adapter inserted in the slot cannot be recognized. The
        variable shall assume a value of notConfigured(2) if the adapter
        inserted in the slot is recognized but no configuration
        exists. The variable shall assume a value of notPresent(3) if
        the adapter is not inserted in the slot but the
        configuration exists. The variable shall assume a value of
        unavailable(4) if adapter inserted in the slot can not be used
        nor made ready to be used; for example, a hardware error. The
        variable shall assume a value of doesNotApply(5) if this adapter
        does not contain an operational state. The variable shall assume
        a value of enablePending(6) if commands have been issued to enable
        the adapter but have not been completed. The variable shall assume
        a value of enabled(7) if commands have been successfully issued
        to enable the adapter. The variable shall assume a value of
        disablePending(8) if commands have been issued to disable the
        adapter but have not been completed. The variable shall assume
        a value of disabled(9) if commands have been successfully issued
        to disable the adapter. The variable shall assume a value of
        missConfigured(10) if the adapter is inserted in the slot
        but the router configuration is of a different type. This object
        would also drive the Unit LED's.
        "
   ::= {ibmccDevEntry 6 }

ibmccDevDiagStatus  OBJECT-TYPE
   SYNTAX  INTEGER {
           auto         (1),
           inactive     (2),
           idle         (3),
           active       (4)}
   MAX-ACCESS  read-only
   STATUS  current
   DESCRIPTION
        "The diagnostic status of this adapter.
         The variable shall assume a value of auto(1) if
        commands have been issued by the system to determine the status
        of the adapter; for example, at initialization. The variable shall
        assume a value of inactive(2) if the adapter is not currently
        running any diagnostics. The variable shall assume a value
        of idle(3) if the adapter is in the disabled operational state
        ready to run the diagnostics. The variable shall assume a value
        of active(4) if commands have been issued by the user to
        run the diagnostics.
        "
   ::= {ibmccDevEntry 7 }


ibmccDevFaultStatus  OBJECT-TYPE
   SYNTAX  INTEGER {
           unknown         (1),
           noFault         (2),
           isolated        (3),
           nonIsolated     (4)}
   MAX-ACCESS  read-only
   STATUS  current
   DESCRIPTION
        "The fault status of this adapter.
        The variable shall assume a value of noFault(2)
        if no fault that is associated with this adapter has been
        detected. The variable shall assume a value of isolated(3) if this
        fault that can be isolated on the adapter itself. The variable
        shall assume a value of nonIsolated(4) if the fault
        can not isolated on the adapter or in the network.
        The variable shall assume a value of unknown(1) if the
        fault status has not been determined; for example, at
        initialization. This object would drive the port LED's also.
        status noFault(2) indicates LED green other values indicate
        port LED yellow.
        "
   ::= {ibmccDevEntry 8 }

ibmccDevResetFlag  OBJECT-TYPE
   SYNTAX  Integer32
   MAX-ACCESS  read-write
   STATUS  current
   DESCRIPTION
        "
        Controls reset of Device. If slot is zero then the chassis is reset
        which resets all the devices.             ?????????????????????????
        "
   ::= {ibmccDevEntry 9 }

-- ========================
-- The Hardware VPD
-- ========================

ibmccHwVPDTable  OBJECT-TYPE
   SYNTAX  SEQUENCE OF IbmccHwVPDEntry
   MAX-ACCESS  not-accessible
   STATUS  current
   DESCRIPTION
        "A table of the hardware component's VPD."
   ::= {ibmccHwGroupBox 4}

ibmccHwVPDEntry   OBJECT-TYPE
   SYNTAX  IbmccHwVPDEntry
   MAX-ACCESS  not-accessible
   STATUS  current
   DESCRIPTION
        "A VPD entry containing objects to describe the hardware component."
   INDEX  { ibmccSlotNum, ibmccHwVPDIndex }
   ::= {ibmccHwVPDTable 1}

IbmccHwVPDEntry ::=
   SEQUENCE {
        ibmccHwVPDIndex
           INTEGER,
        ibmccHwVPDKeyword
           DisplayString,
        ibmccHwVPDData
           DisplayString
   }

ibmccHwVPDIndex OBJECT-TYPE
   SYNTAX  INTEGER(1..256)
   MAX-ACCESS  not-accessible
   STATUS  current
   DESCRIPTION
        "
        The index of the VPD entry for the hardware component.
        "
   ::= {ibmccHwVPDEntry 1}

ibmccHwVPDKeyword  OBJECT-TYPE
   SYNTAX  DisplayString (SIZE(2))
   MAX-ACCESS  read-only
   STATUS  current
   DESCRIPTION
        "The keyword identifier for the VPD data. Some of the possible
        values are Adapter Type(keyword = AT), Description(DS), FRU
        number(FN), Part Number(PN), Maintenance Level(ML), Engineering
        Change(EC), Manufacturer(MF), Serial Number(SN), Network
        Address(NA), Rom Level(RM), Type and Model(TM), Feature Number(F#),
        Option Number(O#), Assembly Number(AN), Box Serial Number(BS),
        Recycle Count(RC), User Supplied Data(US), Manufacturer ID(MN),
        Product Specific(Zx where x equals 0,1,2,3...)."
   ::= {ibmccHwVPDEntry 2}

ibmccHwVPDData OBJECT-TYPE
   SYNTAX  DisplayString (SIZE(0..255))
   MAX-ACCESS  read-only
   STATUS  current
   DESCRIPTION
        "The data field of the VPD that corresponds with the keyword."
   ::= {ibmccHwVPDEntry 3}

-- ========================
-- Port Table
-- ========================

ibmccPortTable  OBJECT-TYPE
   SYNTAX  SEQUENCE OF IbmccPortEntry
   MAX-ACCESS  not-accessible
   STATUS  current
   DESCRIPTION
        "A table of the device component's."
   ::= {ibmccHwGroupBox 5}

ibmccPortEntry   OBJECT-TYPE
   SYNTAX  IbmccPortEntry
   MAX-ACCESS  not-accessible
   STATUS  current
   DESCRIPTION
        "A VPD entry containing objects to describe the hardware component."
   INDEX  { ibmccSlotNum, ibmccPortNum }
   ::= {ibmccPortTable 1}

IbmccPortEntry ::=
   SEQUENCE {
        ibmccPortNum
           Integer32,
        ibmccPortMediaType
           INTEGER,
        ibmccPortBaseIfIndex
           Integer32

   }


ibmccPortNum  OBJECT-TYPE
   SYNTAX  Integer32
   MAX-ACCESS  not-accessible
   STATUS  current
   DESCRIPTION
        "
        The port number of the device associated with the table entry.
        "
   ::= {ibmccPortEntry 1}

ibmccPortMediaType OBJECT-TYPE
   SYNTAX  INTEGER {
             unknown (1),
             smf(2),
             mmf(3)}
   MAX-ACCESS  read-only
   STATUS  current
   DESCRIPTION
        "The type of fiber used by the ATM short PCI cards. The values
         for the media type could be Gemini or Multi-Mode Fiber mmf(2) and
         Meercat or Single Mode Fiber smf(3)."
   ::= {ibmccPortEntry 2}

ibmccPortBaseIfIndex  OBJECT-TYPE
   SYNTAX  Integer32
   MAX-ACCESS  read-only
   STATUS  current
   DESCRIPTION
        "The base ifIndex this port is associated with. For example if this is
         an ATM port it points to the ATM ifIndex and not any of the logical
         interfaces on top of the ATM interface.
        "
   ::= {ibmccPortEntry 3}


-- ===================================
-- Notification Types
-- ===================================

-- Adapter Status Change
ibmccDevStatusChg NOTIFICATION-TYPE
   OBJECTS  {
                ibmccSysLastChange,
                ibmccDevSlotType,
                ibmccDevSlotDeviceType
            }
   STATUS     current
   DESCRIPTION
        "
        The trap announces a change in the status of the device plugged
        into a specific slot. The slot number is provided in the OID of the
        ibmccDevSlotType and ibmccDevSlotDeviceType.

        It shall be sent if the device is removed or added and
        ibmccDevNotifyStatus has a value of enabled(1).
        "
   ::= {ibmccNotificationGroup 1}
END
